<head>
    <meta charset="UTF-8">
<title>算法训练 Best Cow Line</title>
<link rel="stylesheet" href="../css/main.css">
</head>
 <p>【问题描述】<br />
FJ准备带领他的n(1&lt;=n&lt;=30000)头奶牛去参加一年一度的&ldquo;年度农夫&rdquo;大赛。在这个比赛中每个农夫都要把他的奶牛排成一行，然后驱赶他们通过检查官。<br />
今年，比赛的组办方通过了一个新的登记方案：简单的按顺序奶牛的出场顺序登记每个奶牛名字的第一个字母（假如FJ带领Bessie，Sylvia，Dora，并以这个顺序排列，那么登记的结果BSD）。在登记步骤结束后，每个农夫会根据登记序列的字典序，从小到大接受检查。<br />
FJ这年非常的忙碌，需要马上回他的农场，所以他希望能被检查的越快越好。他的奶牛在登记前已经排好了。Fj决定重新安排他的奶牛。<br />
FJ选好了新队伍的位置，然后他动手把他的奶牛一个一个从旧队伍中安排到新队伍里面。Fj不断把剩下的旧队伍中，第一个或者最后一个安排到新队伍的末尾。当他完成的时候，FJ便会以这个新的顺序去参加登记。 给定初始奶牛的顺序，输出用这个方法可以的到的字典序最小的方案。<br />
【输入格式】<br />
第一行一个整数n<br />
第2到第n+1行，每行一个字母('A'...'Z')，表示在原序列中奶牛们的名字第一个字母。<br />
【输出格式】<br />
输出若干行，表示FJ能得到字典序最小的排列。每80个字母一行。<br />
【样例输入】<br />
6<br />
A<br />
C<br />
D<br />
B<br />
C<br />
B<br />
【样例输出】<br />
ABCBCD<br />
【数据规模和约定】<br />
n&lt;=30000</p>